Since a moving picture is treated as a set of still pictures that have been reproduced in a time series, a moving picture recording and reproducing apparatus that records and reproduces a moving picture should record and reproduce a sequence of still picture data in a time series. To do that, a file for managing chronological relation of still picture data is required.
Such a moving picture recording and reproducing apparatus records data on a randomly accessible record medium such as an optical disc in such a manner that data is dispersedly recorded as blocks having a predetermined amount. In addition, the apparatus reproduces data from a record medium in such a manner that the apparatus determines the position of data to be reproduced from the record medium corresponding to such a management file, moves a reading portion such as an optical pickup to the determined position, reads the data as a block having a predetermined amount, and reproduces the data corresponding to the management file.
On the other hand, as software programs that handle a sequence of data that varies in a time series (such data is referred to as a movie), for example, QuickTime (hereinafter abbreviated as “QT”) and Video for Windows are known.
QT is a software program that manages various types of data along the time base and that has an OS extension function for synchronously reproducing a moving picture, a sound, a text, and so forth without need to use a special hardware device. With QT, an application program can handle multimedia data without consideration of data type, data format, compression format, and hardware structure. In addition, QT has a structure that can be easily extended. Thus, QT has been widely used. QT has been disclosed in for example “Inside Macintosh: QuickTime (Japanese Edition)”, Addison Wesley. Next, QT will be described in brief.
A basic data unit of a QT movie resource is called an atom. Each atom contains a size and type information along with its data. In QT, the minimum unit of data is treated as a sample. As a set of samples, a chunk is defined.
FIG. 26 is a schematic diagram showing an example of the structure of a QuickTime movie file.
FIG. 27 is a schematic diagram showing an example of the structure of a video media information atom. FIG. 27 is a detailed schematic diagram showing a video media information atom in the case that tracks are for video information.
In FIGS. 26 and 27, a QuickTime movie file is mainly composed of two portions that are a movie atom 501 and a media data atom 502. The movie atom 501 is a portion that stores information necessary for reproducing a file and information necessary for referencing real data. The media data atom 502 is a portion that stores real data such as video data and audio data.
The movie atom 501 contains a size, a type “moov”, a movie header atom 511, a movie clipping atom 512, a user definition data atom 513, and at least one track atom 514.
The movie header atom 511 has a type “mvhd” and contains information with respect to the entire movie such as a time scale and a length.
The movie clipping atom 512 has a type “clip” and contains a clipping area atom 521. The movie clipping atom 512 designates a clipping area for a movie and a track. The clipping area atom 521 has a type “crgn”.
The user definition data atom 513 has a type “udat” and contains a movie user data atom 522. The movie user data atom 522 can store data.
The track atom 514 is provided for each track of a movie. The track atom 514 contains a size, a type “trak”, a track header atom 531, a track clipping atom 532, a track matte atom 533, an edit atom 534, and a media atom 535. The track atom 514 describes information with respect to individual pieces of data of the media data atom 502 in the atoms 531 to 535. FIG. 26 shows only a track atom 514-1 of a video movie (omitting other track atoms).
The track header atom 531 has a type “tkhd” and describes time information, space information, audio volume information, and so forth and defines the characteristic of tracks of a movie.
The track clipping atom 532 has a type “clip” and contains a clipping area atom 541. The track clipping atom 532 operates in the same manner as the movie clipping atom 512.
The track matte atom 533 has a type “matt” and contains a compression matt atom 542. The track matte atom 533 designates a matt of tracks. The compression matt atom 542 has a type “kmat” and designates an image description structure.
The edit atom 534 has a type “edts” and contains an edit list atom 543. The edit atom 534 causes the edit list atom 543 to define a media portion that composes one track of a movie. The edit list atom 543 has a type “elst”. An edit list table composed of a track length, a media time, and a media speed causes QT to map a track time to a media time and finally to media data.
The media atom 535 describes data of a movie track. The media atom 535 also describes information that defines a component that interprets media data. The media atom 535 also defines data information of the media. The media atom 535 has a size and a type “mdia” and contains a media header atom 544, a media information atom (video media information atom 545 in FIGS. 26 and 27), and a media handler reference atom 546.
The media header atom 544 has a type “mdhd” and contains a time value that represents a time scale of media and a time value that represents a length of media. The media header atom 544 defines the characteristic of media.
The media handler reference atom 546 describes information with respect to entire media and defines the characteristic of media as a storage location corresponding to a movie track. The media handler reference atom 546 has a type “mhlr” and designates a component that interprets data stored in media. The component is called by a media handler.
The media information atom 545 stores information intrinsic to a handler for media data that composes a track. The media handler maps a media time to media data using the information. The media information atom 545 has a type “minf” and contains a data handler reference atom 561, a media information header atom, a data information atom 563, and a sample table atom 564.
The media information header atom (a video media information header atom 562 in FIG. 27) describes information with respect to media. The data handler reference atom 561 has a type “hdlr” and describes information with respect to handling of media data. The data handler reference atom 561 contains information that designates a data handler component that provides an access means for media data.
The data information atom 563 has a type “dinf” and contains a data reference atom 571. The data reference atom 571 describes information with respect to data.
The sample table atom 564 has a type “stbl” and contains information necessary for converting a media time into a sample number that represents a sample position. The sample table atom 564 is composed of a sample size atom 572, a time-to-sample atom 573, a sync sample atom 574, a sample description atom 575, a sample-to-chunk atom 576, and a chunk offset atom 577.
The sample size atom 572 has a type “stsz” and describes the size of a sample. The time-to-sample atom 573 has a type “stts” and describes the relation between samples and time base (how many minutes of data have been recorded ?). The sync sample atom 574 describes information with respect to synchronization and designates a key frame of medium. A key frame is a self included frame that does not depend on the preceding frame. The sync sample atom 574 has a type “stss”. The sample description atom 575 has a type “stsd” and stores information necessary for decoding a sample of medium. Media can have at least one sample description atom corresponding to a compression type used in media. The sample-to-chunk atom 576 references a table contained in the sample description atom 575 and identifies a sample description corresponding to each sample of medium. The sample-to-chunk atom 576 has a type “stsc” and describes the relation between a sample and a chunk. The sample-to-chunk atom 576 identifies the position of a sample of media corresponding to the first chunk, the number of samples per chunk and information of a sample description ID. The chunk offset atom 577 has a type “stco” and describes the start bit position of a chunk of movie data and defines the position of each chunk of a data stream.
In FIG. 26, the media data atom 502 stores audio data encoded corresponding to a predetermined compressing and encoding system and video data that has been encoded corresponding to a predetermined compressing and encoding system in the unit of a chunk composed of a predetermined number of samples. It is not always necessary to compress and encode data. Alternatively, linear data can be stored. For example, when text, MIDI (Musical Instrument Digital Interface), or the like is handled, the media data atom 502 contains real data of text, MIDI, or the like. Correspondingly, the movie atom 501 contains a text track, a MIDI track, or the like.
Each track of the movie atom 501 is correlated with data stored in the media data atom 502.
In such a hierarchical structure, when data stored in the media data atom 502 is reproduced, QT successively traces the hierarchical structure from the movie atom 501 in the highest hierarchical level, maps a sample table to memory corresponding to the atoms 572 to 578 in the lowest hierarchical level in the sample table atom 564, and identifies the relation among individual data pieces.
In addition, QT has a chapter function for displaying text data at a predetermined time of a movie as a function that represents the relation among data pieces.
However, when the data structure of a management file is hierarchical and information with respect to each data piece is dispersed in lower layers as with QT, a moving picture recording and reproducing apparatus should trace the hierarchy to lower levels and collect dispersed information therefrom.
In addition, since it is assumed that a sequence of time series data is recorded as blocks each having a predetermined amount, when the size of each block is changed, the corresponding operation is required.
When a sequence of time series data is edited, a data read time, a seek time, and a reproduction time for read data are required so that the data can be successively reproduced.
Although a chapter function that represents the relation among data pieces is provided, a predetermined process for correlating a predetermined time of a movie with a chapter is performed. Thus, the relation among data pieces can be flexibly represented. Consequently, when there are audio data A and audio data B that are chronologically correlated with video data X, it is impossible to correlate the video data X with the audio data A or the audio data B so as to reproduce them.